The invention relates to methods, systems and apparatus for a web-based (i.e., online) spreadsheet application, and more particularly, to new methods, systems and apparatus for a web-based spreadsheet program which allows for simplified creation, customization and data entry.
There are a number of computerized spreadsheet applications for the organization, analysis and storage of data in a tabular form, such as EXCEL™ from Microsoft, Inc., and NUMBERS™ for MAC™ from Apple, Inc. Generally, a computerized spreadsheet consists of a table of cells arranged into a two-dimensional array of rows and columns, in which each cell is configured to contain variable input data, constant data, formulas and/or functions. Typically, the rows are labeled using numbers, 1, 2, 3, etc. and the columns are labeled using letters, A, B, C, etc., such that a single cell can be referred to by addressing its row and column labels, for example, “C9”, which refers to the cell located in the third column and the 9th row.
A user interacts with a spreadsheet mainly through the cells by selecting one or more cells of a displayed array of cells (e.g. an array of cells in 20 rows by 25 columns) and entering data, such as alphanumeric text, formulas, and/or functions into the cells. A spreadsheet may be created for a particular purpose, such as for accounting or bookkeeping task or other desired calculation or analysis, using certain cells for inputting variable data such that calculations can be conveniently performed on various different data sets. For instance, a cell might include text which is a heading or label, or a date. A formula usually begins with an equals sign, indicating that the value of the cell equals some the results of a formula (e.g. “=5*9”).
One particularly powerful feature of computerized spreadsheets is the ability for formulas and functions to refer to the contents of other cells, which may in turn be the result of another formula and/or functions which may also refer to the contents of other cells. In order to reference a cell in a formula or function, the formula simply includes the cell reference, such as “=5*C9”. This formula defines the value of the cell containing the formula as the result of multiplying the value in cell “C9” by the number 5. Many complicated data analyses, calculation and other problems can be broken down into a series of individual steps which can be assigned to individual cells having formulas. The formulas and functions may also apply to a range of cells, which may be defined by including each of the cell references, or by shorthand references such as “C1:C9” which refers to all of the cells in a column “C” from row 1 to row 9.
However, current computerized spreadsheet application require a user to learn and understand numerous commands, syntax, formulas and functions in order to create a spreadsheet. Also, it is difficult to know if the spreadsheet is being created correctly because the spreadsheet simply shows an array of cells in which some may display data, and the formulas and functions may not display at all because such cells are displaying the results of the formulas and functions rather than the formulas and functions themselves. In addition, a spreadsheet may be created for multiple users and/or for multiple data sets. For example, a spreadsheet may be created for data entry users to enter numerous different data sets into the spreadsheet and to obtain a resulting calculated spreadsheet for each data set. However, once the spreadsheet is created, it is often difficult to hand off the spreadsheet to others for entering input data because the data entry users can input data into the wrong cells and may inadvertently modify cells which should not be changed.